package com.example.day02;


import java.util.Arrays;
import java.util.Scanner;

//fory语句练习
public class Factorial {

    public static void main(String[] args) {
        Scanner scanner=new Scanner(System.in);

        int n=1;
        int result=0;
//        System.out.println("请输入一个数字：");
//        int x=scanner.nextInt();
//        for(int i=1;i<=x;i++){
//            n=n*i;
//            result=result+n;
//            System.out.printf("%d!=%d",i,n);
//
//            System.out.println();
//        }
//        for (int i=1;i<=x;i++){
//            if(i<x) {
//                System.out.printf("%d!+",i);
//            }
//            if(i==x){
//                System.out.printf("%d!=",i);
//            }
//
//        }
//        System.out.print(result);



//        int s=0;
//
//        for(int i=1;i<=x;i++){
//            result=result*10+i;
//            s=result*8+i;
//            System.out.printf("%d*%d+%d=%d",result,8,i,s);
//            System.out.println();
//
//        }

        //杨辉三角形
//
//        int [][]arr=new int[x][x];
//        arr[0][0]=1;
//        for(int i=1;i<x;i++){
//            for(int j=0;j<=i;j++){
//                if(j==0){
//                    arr[i][j]=1;
//                }else if(i==j){
//                    arr[i][j]=1;
//                }
//                else {
//                    arr[i][j] = arr[i - 1][j] + arr[i - 1][j - 1];
//                }
//            }
//        }
//
//        for(int i=0;i<x;i++){
//            for(int j=0;j<=i;j++){
//                System.out.print(arr[i][j]+"\t");
//            }
//            System.out.println();
//        }


        //定义一个长度为2的数组，第一个存年份，第二存月份
//        int []arr=new int [2];
//
//        for(int i=0;i<arr.length;i++){
//            arr[i]=scanner.nextInt();
//        }
//        //先判断是否是闰年
//        if((arr[0]%4==0&&arr[0]%100!=0)||arr[0]%400==0){
//            switch (arr[1]){
//                case 1:
//                    result=31;
//                    break;
//                case 2:
//                    result=29;
//                    break;
//                case 3:
//                    result=31;
//                    break;
//                case 4:
//                    result=30;
//                    break;
//                case 5:
//                    result=31;
//                    break;
//                case 6:
//                    result=31;
//                    break;
//                case 7:
//                    result=31;
//                    break;
//                case 8:
//                    result=31;
//                    break;
//                case 9:
//                    result=30;
//                    break;
//                case 10:
//                    result=31;
//                    break;
//                case 11:
//                    result=30;
//                    break;
//                case 12:
//                    result=31;
//                    break;
//
//            }
//        }else{
//            switch (arr[1]){
//                case 1:
//                    result=31;
//                    break;
//                case 2:
//                    result=28;
//                    break;
//                case 3:
//                    result=31;
//                    break;
//                case 4:
//                    result=30;
//                    break;
//                case 5:
//                    result=31;
//                    break;
//                case 6:
//                    result=31;
//                    break;
//                case 7:
//                    result=31;
//                    break;
//                case 8:
//                    result=31;
//                    break;
//                case 9:
//                    result=30;
//                    break;
//                case 10:
//                    result=31;
//                    break;
//                case 11:
//                    result=30;
//                    break;
//                case 12:
//                    result=31;
//                    break;
//
//            }
//        }
//        System.out.printf("%d年%d月有%d天\n",arr[0],arr[1],result);

//        System.out.println("请输入该数字相加的次数:");
//        int m=scanner.nextInt();
//        int sum=0;
//
//        for(int i=1;i<=m;i++){
//            result=result*10+x;
//          sum=sum+result;
//        }
//        int count=0;
//        for(int i=0;i<m;i++){
//            if(i<m-1){
//              count=count*10+x;
//            System.out.printf("%d+",count);
//            }if(i==m-1){
//                System.out.printf("%d....%d=",x,x);
//            }
//        }
//        System.out.print(sum);


        System.out.println("1001×1001螺旋线上的对角数之和是:");
        System.out.println(solution(1001));
        System.out.println("对角线上的数字之和为");
        System.out.println(solution2(5));


    }

    //通项公式  求1001*1001螺旋线上的对角线之和
    public  static  long solution(long n){

        return (n * (n * (4 * n + 3) + 8) - 9) / 6;
    }
    //证明对角线的数字之和是101
    public  static  long solution2(long n){
        n = (n - 1) / 2;
        return 2 * n * (8 * n * n + 15 * n + 13) / 3 + 1;
    }
}
